技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 12 屆 iThome 鐵人賽
DAY
5
1
影片教學
想盡辦法當好一個Junior Backend Developer
系列 第
5
篇
Golang - 如何當好一個junior backend developer - 想想Primary Key設計這件事情
12th鐵人賽
肯尼攻城獅
團隊
不要搶我隊友
2020-09-18 22:18:36
1630 瀏覽
分享至
先想想Primary key這件事情
Natural Key
身分證
如果natural key能絕對不會因為未來系統邏輯改動而失效的,能用就用
Surrogate Key
Auto Incresment
無法保證序號一定是加一遞增,可能會因為delete recorde or rollback的時候放棄這次的序號
性能一定比較好
容易被猜到PK (可以做額外的方式避免:經由hash 或是 額外多存UUID當作公開暴露)
數字ID天然排序
分散式資料庫 PK會有衝到的問題
INSERT record的時候需要拿ID 需要多作RETURNING語法拿到PK的值
合併資料會很麻煩
UUID
因為佔的空間大 性能略差(個人認為很大量的資料才有顯著的差距)
理論上是唯一
沒有排序,無法保證趨勢遞增
可以由Application Server產生UUID在INSERT Record 不需要透過RETURNING語法拿到PK的值
歡迎參觀團隊其他成員的文章~
前端工程師一起來種一棵後端技能樹吧!
用舒服的姿勢開發 Python Project
留言
追蹤
檢舉
上一篇
Golang - 如何當好一個junior backend developer - PostgreSQL安裝與權限探討
下一篇
Golang - 如何當好一個junior backend developer - 來設計貓咪平台的schema吧
系列文
想盡辦法當好一個Junior Backend Developer
共
13
篇
目錄
RSS系列文
訂閱系列文
15
人訂閱
9
Golang - 如何當好一個junior backend developer - 介紹如何撰寫API Blueprint 其實就是MD語法啦!
10
Golang - 如何當好一個junior backend developer - API Blueprint想要Local開發並且架設自己的API Document Server
11
Golang - 如何當好一個junior backend developer - 來認識Gin框架!
12
Golang - 如何當好一個junior backend developer - 講解Gin的簡單範例!
13
Golang - 如何當好一個junior backend developer - CRUD與Binding介紹!
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22210
篇
完賽人數
600
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
mail server 主機推薦
Outlook 2016 收不到外來信 已解決
windows11的複製功能出現問題
有關Chrome瀏覽器擴充功能,選定特別類型檔案封鎖上傳,並且三秒後關掉網頁
minIO 跟超融合
Chrome瀏覽器限制上傳檔案類型
SQL 如何將同欄位數據依照條件拆分成不同欄的資料
mongodb atlas 連線速度變慢或斷線
CTF GAME
同網段下無法連線到印表機
熱門回答
mail server 主機推薦
SQL 如何將同欄位數據依照條件拆分成不同欄的資料
windows11的複製功能出現問題
有關Chrome瀏覽器擴充功能,選定特別類型檔案封鎖上傳,並且三秒後關掉網頁
Outlook 2016 收不到外來信 已解決
熱門文章
「記憶體與基本儲存電路:Latch & Flip Flop」
請問大家有爬蟲Shopee的經驗嗎?
計算訊號 - 快取錯誤 and Equal 函數不追蹤訊號
從零開始學習Java筆記(基本語法)
KMP 演算法筆記
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}